synology.forum архив спільноти · 2005–2022
ai.synology.forum →
ГлавнаяВеб Сервер + PHP / MySQL › Правильное и удобное ведение логов и бекапов

Правильное и удобное ведение логов и бекапов

WWW.ZEOS.IN · 07.12.2009

1)

В админке Synology в разделе Папка общего доступа создать две папки backups и logs. Эти папки по желанию можно показывать или скрывать в FTP (лучше скрывать, так как, если Ваш сайт взламывают и/или узнают Ваш логин и пароль от FTP, то обязательно будут чистить все следы за собой и естественно увидев папку logs её сразу удалят и Вы уже никогда не сможете узнать через какой файл был взломан сайт и IP злоумышленника)

 

2)

Далее в файле: /usr/syno/apache/conf/httpd.conf-user

ищем строчку: ErrorLog /dev/null и заменяем на: ErrorLog /volume1/logs/error.log

ищем строчку: CustomLog /dev/null combined и заменяем на: CustomLog /volume1/logs/access.log combined

 

После этого перезапускаем Apache коммандой: /usr/syno/etc/rc.d/S97apache-user.sh restart

 

3)

Скачиваем архив: http://rapidshare.com/files/431363545/script.rar (в архиве будет два файла: script.sh и script2.sh)

 

В файле script.sh, в строчке: mysqldump -uroot -p12345 указать логин и пароль от MySQL пользователя с супер правами.

В файле script2.sh, +6 (в двух строчках) это количество папок, их будет 7 штук за 7 дней. Если хочется 14 папок за 14 дней, то надо написать +13

Закачиваем эти два файла: script.sh и script2.sh по FTP в корень папки web

В Telnet или SSH запускаем код: /bin/echo "1" && /bin/mv /volume1/web/script.sh /volume1 && /bin/echo "2" && /bin/mv /volume1/web/script2.sh /volume1 && /bin/echo "3" && /bin/chmod 755 /volume1/script.sh && /bin/echo "4" && /bin/chmod 755 /volume1/script2.sh && /bin/echo "5" && /bin/date "+%d-%m-%Y" > /volume1/cdate

 

4)

Далее в файле: /etc/crontab добавляем два новых правила:

 

0    0    *    *    *    root    /bin/sh /volume1/script.sh
0    6    *    *    *    root    /bin/sh /volume1/script2.sh

После этого перезапускаем CRON коммандой: /usr/syno/etc/rc.d/S04crond.sh stop && /usr/syno/etc/rc.d/S04crond.sh start

 

********************

********************

 

После всех этих действий (по истечении более 7 дней) в корне папки logs будут лежать два файла: access.log и error.log (это логи которые пишутся в данный момент), а также будет 7 папок.

Названия папок это дата (например, папка: 06-12-2009) и в каждой такой папке будет лежать два запакованных файла: access.log.gz и error.log.gz

 

В папке backups будет тоже 7 папок и в каждой из этих 7 папок будет лежать два сжатых файла: files.tar.gz (полный бекап всех файлов папки web) и файл: databases.sql.gz (полный бекап всех баз MySQL)

 

:rolleyes:

 

Пример:

  backups
     |
     ------------ 01-12-2009
     |                |
     |                ------------------ databases.sql.gz
     |                |
     |                ------------------ files.tar.gz
     |
     ------------ 02-12-2009
     |                |
     |                ------------------ databases.sql.gz
     |                |
     |                ------------------ files.tar.gz
     |
     ------------ 03-12-2009
     |                |
     |                ------------------ databases.sql.gz
     |                |
     |                ------------------ files.tar.gz
     |
     ------------ 04-12-2009
     |                |
     |                ------------------ databases.sql.gz
     |                |
     |                ------------------ files.tar.gz
     |
     ------------ 05-12-2009
     |                |
     |                ------------------ databases.sql.gz
     |                |
     |                ------------------ files.tar.gz
     |
     ------------ 06-12-2009
     |                |
     |                ------------------ databases.sql.gz
     |                |
     |                ------------------ files.tar.gz
     |
     ------------ 07-12-2009
                      |
                      ------------------ databases.sql.gz
                      |
                      ------------------ files.tar.gz

   logs
     |
     ------------ 01-12-2009
     |                |
     |                ------------------ access.log.gz
     |                |
     |                ------------------ error.log.gz
     |
     ------------ 02-12-2009
     |                |
     |                ------------------ access.log.gz
     |                |
     |                ------------------ error.log.gz
     |
     ------------ 03-12-2009
     |                |
     |                ------------------ access.log.gz
     |                |
     |                ------------------ error.log.gz
     |
     ------------ 04-12-2009
     |                |
     |                ------------------ access.log.gz
     |                |
     |                ------------------ error.log.gz
     |
     ------------ 05-12-2009
     |                |
     |                ------------------ access.log.gz
     |                |
     |                ------------------ error.log.gz
     |
     ------------ 06-12-2009
     |                |
     |                ------------------ access.log.gz
     |                |
     |                ------------------ error.log.gz
     |
     ------------ 07-12-2009
     |                |
     |                ------------------ access.log.gz
     |                |
     |                ------------------ error.log.gz
     |
     ------------ access.log
     |
     ------------ error.log

Timka · 09.12.2009

полезная инфа.

 

а ты часом не пробовал бэкапить базы штатными средствами? У меня чегой-то не выходит

WWW.ZEOS.IN · 09.12.2009
полезная инфа.
Спасибо, делал примерно месяц + тестировал кучу времени :rolleyes:

 

а ты часом не пробовал бэкапить базы штатными средствами? У меня чегой-то не выходит
Нее бекапы стандартными средствами Synology меня вообще не устраивают :(

А вот таким кодом:

/usr/syno/mysql/bin/mysqldump -uroot -p12345 --opt --all-databases > /volume1/backups/`date "+%d-%m-%Y"`/databases.sql
Ты делаешь полнейший бекап MySQL :rolleyes:
Timka · 09.12.2009

Интересно, а можно где-нибудь посмотреть тексты правил которые создаются по указаниям из веб-морды? :)

WWW.ZEOS.IN · 16.12.2009

Поправил первый пост! Улучшил код и исправлены некоторые баги :rolleyes:

WWW.ZEOS.IN · 21.12.2009

Всё равно один баг остался, папка создаётся за 21 число, а в ней лежит информация за 20 число.

Если кто-то знает как в этом BusyBox сделать, чтобы работал такой код:

 

#!/bin/sh

unixdate=`date +%s`
let "unixdate-=86400"
ystdate=`date -d @$unixdate "+%d-%m-%Y"`

echo "$ystdate"

 

А именно параметр date -d :(

WWW.ZEOS.IN · 22.12.2009

1) Поправил первый пост!

2) Улучшен код скриптов, исправлен баг, когда создавались папки за сегодняшний день, а в них лежала информация за предыдущий день.

semushin · 20.03.2010

WWW.ZEOS.IN, обнови сцылку, а то на рапиде удалили :(

WWW.ZEOS.IN · 20.03.2010

Обновил :rolleyes:

qwerty9 · 13.10.2010

Еще раз обновите, пожалуйста ссылку на скрипты.

qwerty9 · 22.10.2010

Понимаю, что тема достаточно старая, но может кто скачал указанные скрипты ранее и может поделиться? Заранее спасибо

Viper_Rus · 17.11.2010

Большущяя просьба, выложите кто нить скрипты повторно.

WWW.ZEOS.IN · 17.11.2010

Прошу прощенья, что долго не отвечал. Файл перезалил :rolleyes:

JoeRee · 25.12.2010

На DS110j был небольшой форум. Поменял HDD на более ёмкий. Папку web перекопировал, а как копировать базы не знаю.

И, собственно, вопрос: как скопировать со старого жесткого базы на новый?

ent · 25.12.2010

Надо было сделать бэкап перед снятием диска. Отличный скрипт для этого Sypex Dumper.

Но можно решить этот вопрос и в лоб: остановить mysql и скопировать весь каталог /volume1/@database/mysql/ со старого диска на новый.

JoeRee · 11.01.2011
Надо было сделать бэкап перед снятием диска. Отличный скрипт для этого Sypex Dumper.

Но можно решить этот вопрос и в лоб: остановить mysql и скопировать весь каталог /volume1/@database/mysql/ со старого диска на новый.

В общем, так и сделал... Все встало на место, спасибо...

Viper_Rus · 17.03.2011

Скрипты опять не доступны......благо успел их заранее скачать.....но вопрос собственно вот в чем:

 

как правильно восстановить инфу из этого бэкапа :)

 

и еще один вопрос.....допустим мне нужно 7 последних бэкапов, но не ежедневных а еженедельных.....тоесть 7 последних недель....достаточно ли только в кроне подправить?

qwerty9 · 20.03.2011
Скрипты опять не доступны......благо успел их заранее скачать

Скинь на почту, пожалуйста [email protected]

 

допустим мне нужно 7 последних бэкапов, но не ежедневных а еженедельных.....тоесть 7 последних недель....достаточно ли только в кроне подправить?

Скрипт при выполнении удаляет старые бэкапы, поэтому, запуская его раз в неделю он будет удалять все предыдущие копии, т.е. без правки скрипта будет храниться 1 бэкап недельной давности.

Viper_Rus · 18.04.2011
Скинь на почту, пожалуйста [email protected]

 

вот скриптики:

http://www.enclave-guild.ru/files/script.sh

http://www.enclave-guild.ru/files/script2.sh

 

Надеюсь автор не против.